package HuaWeiOd.AA;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

/**
 * 题目描述： 小强正在参加《密室逃生》游戏，当前关卡要求找到符合给定 密码K（升序的不重复小写字母组成）的箱子，并给出箱子编号，箱子编号为1~N。
 * 每个箱子中都有一个字符串s，字符串由大写字母，小写字母，数字，标点符号，空格组成，需要在这些字符串中找出所有的字母，忽略大小写后排列出对应的密
 * 码串，并返回匹配密码的箱子序号
 * 提示：
 * 满足条件的箱子不超过1个
 * 输入描述： 第一行为key的字符串，第二行为箱子boxes，为数组样式，以空格分隔
 * 箱子N数量满足1<=N<=10000,
 * s长度满足 0<=s.length<=50,
 * 密码为仅包含小写字母的升序字符串，且不存在重复字母,
 * 密码K长度K.length，1<=K.length<=26
 * 输出描述：返回对应箱子编号
 * 如不存在符合要求的密码箱，则返回-1
 * 补充说明： 箱子中字符拼出的字符串与密码的匹配忽略大小写，且要求与密码完全匹配，如密码abc匹配aBc，但是密码abc不匹配abcd
 * 示例
 * 示例1
 * 输入： abc
 * s,sdf134 A2c4b
 * 输出： 2
 * 说明： 第2个箱子中的Abc，符合密码abc
 * 示例2
 * 输入： abc
 * s,sdf134 A2c4bd 523[]
 * 输出： -1
 * 说明： 第2个箱子中的Abcd，与密码不完全匹配，不符合要求
 * ————————————————
 * 版权声明：本文为CSDN博主「wangchen24」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
 * 原文链接：https://blog.csdn.net/wangchen24/article/details/129839686
 * @author caihe
 * @date 2023/4/13 9:15
 */
public class 寻找关键钥匙 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String key = sc.nextLine();
        String[] boxes = sc.nextLine().split(" ");
        List<Integer> result = new ArrayList<>();
        
        for (int j = 0; j < boxes.length; j++) {
            String box = boxes[j].toLowerCase();
            List<Character> charList = new ArrayList<>();
            for (int i = 0; i < box.length(); i++) {
                char c = box.charAt(i);
                if (c >= 'a' && c <= 'z') {
                    charList.add(c);
                }
            }
            // 关键 ------------ list排序后拼接为String
            box = charList.stream().sorted().map(Object::toString).collect(Collectors.joining());
//            Character[] characters = charList.toArray(new Character[charList.size()]);
//            
//            box = String.valueOf(characters);
            if (box.equals(key)) {
                result.add(j + 1);
            }
        }
        if (result.isEmpty()) {
            System.out.println(-1);
        } else {
            for (Integer num : result) {
                System.out.print(num + " ");
            }
        }
        
        
    }
}
/*
abc
s,sdf134 A2c4b

abc
s,sdf134 A2c4bd 523[]
 */
